package JZOffer; /**
 * 剑指 Offer 55 - I. 二叉树的深度
 * 输入一棵二叉树的根节点，求该树的深度。
 * 从根节点到叶节点依次经过的节点（含根、叶节点）形成树的一条路径，
 * 最长路径的长度为树的深度。
 * **/


/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
//用主函数传参root.left 和 root.right，并用一个引用保存

class Solution55_1 {
    public int maxDepth(TreeNode root) {
       if (root == null) return 0;
        //分别得到了root的左右孩子的深度
        int l = maxDepth(root.left);
        int r = maxDepth(root.right);

//        if (l > r) return l + 1;
//        else return r + 1;

        return Math.max(l + 1, r + 1);
    }
}